package com.ruoyi.project.task.postpone.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.BaseEntity;
import com.ruoyi.project.person.info.domain.PersonInfo;
import com.ruoyi.project.task.mission.domain.TaskMission;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @author Pathosis
 * @date 2020-09-18 15:23
 * @description: 延期表pojo
 */
public class TaskPostpone extends BaseEntity implements Serializable{

    /** 延期编号 */
    private Long postponeId;

    /** 任务编号 */
    private Long missionId;

    /** 申请人编号 */
    private Long infoId;

    /** 延期到... */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date postponeTime;

    /** 批复状态 */
    private String giveState;

    /** 申请理由 */
    private String postponeText;

    /** 批复人 */
    private String giveName;

    /** 转移对象id */
    private  Long toId;

    /** 申请人信息 */
    private PersonInfo personInfo;

    /** 延期任务信息 */
    private TaskMission taskMission;

    public PersonInfo getPersonInfo() {
        return personInfo;
    }

    public void setPersonInfo(PersonInfo personInfo) {
        this.personInfo = personInfo;
    }

    public TaskMission getTaskMission() {
        return taskMission;
    }

    public void setTaskMission(TaskMission taskMission) {
        this.taskMission = taskMission;
    }


    public TaskPostpone() {
    }

    public Long getPostponeId() {
        return postponeId;
    }

    public void setPostponeId(Long postponeId) {
        this.postponeId = postponeId;
    }

    public Long getMissionId() {
        return missionId;
    }

    public void setMissionId(Long missionId) {
        this.missionId = missionId;
    }

    public Long getInfoId() {
        return infoId;
    }

    public void setInfoId(Long infoId) {
        this.infoId = infoId;
    }


    public String getGiveState() {
        return giveState;
    }

    public void setGiveState(String giveState) {
        this.giveState = giveState;
    }

    public Long getToId() {
        return toId;
    }

    public void setToId(Long toId) {
        this.toId = toId;
    }

    public String getGiveName() {
        return giveName;
    }

    public void setGiveName(String giveName) {
        this.giveName = giveName;
    }

    public Date getPostponeTime() {
        return postponeTime;
    }

    public void setPostponeTime(Date postponeTime) {
        this.postponeTime = postponeTime;
    }

    public String getPostponeText() {
        return postponeText;
    }

    public void setPostponeText(String postponeText) {
        this.postponeText = postponeText;
    }

    @Override
    public String toString() {
        return "TaskPostpone{" +
                "postponeId=" + postponeId +
                ", missionId=" + missionId +
                ", infoId=" + infoId +
                ", postponeTime=" + postponeTime +
                ", giveState='" + giveState + '\'' +
                ", postponeText='" + postponeText + '\'' +
                ", giveName=" + giveName +
                '}';
    }

    public TaskPostpone(Long postponeId, Long missionId, Long infoId, Date postponeTime, String giveState, String postponeText, String giveName) {
        this.postponeId = postponeId;
        this.missionId = missionId;
        this.infoId = infoId;
        this.postponeTime = postponeTime;
        this.giveState = giveState;
        this.postponeText = postponeText;
        this.giveName = giveName;
    }
}

